System and method for managing and displaying data messages

ABSTRACT

A system and method for managing and displaying data messages includes a computing device configured to receive stream data, assign data messages of the stream data to one or more display columns of a graphical user interface, and display the data messages in the assigned columns. The stream data may be embodied as short data messages such as text messages having predetermined maximum character length. The data messages may be assigned to the display columns based on meta-data associated with the data messages such as the author of the data message, the source of the data message, and/or the type of the data message.

RELATED APPLICATIONS

This application is continuation of U.S. application Ser. No.14/886,975, filed on Oct. 19, 2015, which is a continuation of U.S.application Ser. No. 14/051,865, filed on Oct. 11, 2013 (now U.S. Pat.No. 9,166,935), which is continuation of U.S. application Ser. No.13/525,758, filed on Jun. 18, 2012 (now U.S. Pat. No. 8,656,289), whichis a continuation of U.S. application Ser. No. 12/497,603, filed on Jul.3, 2009 (now U.S. Pat. No. 8,230,350), all of which are incorporatedherein by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates generally to managing and displaying datamessages and, more particularly to, managing and displaying continuallyupdating, short data messages.

BACKGROUND

Some social networking services, blogging (e.g., micro-blogging)services, and other communication services interconnect users via use ofdata messages such as text messages. In some systems, the size or lengthof the data messages is limited to a predetermined maximum (e.g., 160characters long). The short length of the data messages facilitates thetransferring of many short data messages at a continual rate.

Users of the communication services use client software on a desktop ormobile computer to receive, display, generate, and transmit the datamessages. Given the rapidity and size of the incoming data messages, thetypical client software displays the received data messages in a single,vertical stack, which requires the user to visually peruse through themultiple displayed messages to locate particular messages of interest,those having commonality, and/or the like.

SUMMARY

According to one aspect, a computing device may include a display, aprocessor communicatively coupled to the display, and a memory devicecommunicatively coupled to the processor. The memory device may havestored therein a plurality of instructions, which when executed by theprocessor, cause the processor to display a graphical user interface onthe display. The graphical user interface may include a plurality ofcolumns configured for displaying data messages therein. The pluralityof instructions may also cause the processor to receive stream data froma network. The stream data may include a plurality of data messages. Theplurality of instructions may additionally cause the processor todetermine identification data associated with each of the data messagesand assign each of the plurality of data messages to a column of theplurality of columns based on the identification data. Further, Theplurality of instructions may cause the processor to display each of theplurality of data messages in its assigned column.

In some embodiments, the plurality of data messages may include aplurality of short text messages. The short text messages may have amaximum character length no greater than about 256 characters in someembodiments. In other embodiments, the short text messages may have amaximum character length no greater than about 160 characters.Additionally, in some embodiments the identification data associatedwith each of the data messages may include data indicative of acommunication service provider from which data messages originated. Forexample, the data indicative of a communication service may include auniform resource locator (URL) of the communication service provider. Insome embodiments, the identification data associated with each of thedata messages may include data that uniquely identifies the author ofthe data message. Further, in some embodiments, the identification dataassociated with each of the data messages may include data indicative ofa type of data message.

In some embodiments, the plurality of columns configured for displayingmessages therein may include a first column and a second column. Thefirst column may be positioned to the left of the second column. In suchembodiments, the plurality of instructions may cause the processor tomove the second column with respect to the first column. In someembodiments, the plurality of instructions may further cause theprocessor to assign a name to each of the plurality of columns anddisplay the assigned name in association with the respective column.Additionally, in some embodiments, the plurality of instructions furthercause the processor to request entry of filter data and filter datamessages displayed in a column of the plurality of columns based on thefilter data. Further, in some embodiments, each of the data messages ofthe stream data may include an associated time stamp. In suchembodiments, the plurality of instructions may cause the processor todisplay each of the data messages in its assigned column in a verticalorder based on the time stamp of each data message.

According to another aspect, a machine-readable, tangible medium mayinclude a plurality of instructions, which in response to beingexecuted, may result in a computing device receiving stream data from anetwork. The stream data may include a plurality of short text messages.Each of the short text messages may have a maximum, predeterminedcharacter length of about 160 characters. The plurality of instructionsmay also result in the computing device assigning each short textmessage to at least one display column of a graphical user interfacebased on identification data associated with the short text message.Additionally, the plurality of instructions may result in the computingdevice displaying each short text message in the display column assignedto the short text message.

In some embodiments, the plurality of instructions may result in thecomputing device assigning each short text message to the at least onedisplay column of the graphical user interface based on identificationdata including a uniform resource locator (URL) of the communicationservice provider from which the short text message originated.Additionally, in some embodiments, the plurality of instructions mayresult in the computing device assigning each short text message to theat least one display column of the graphical user interface based onidentification data including data that uniquely identifies the authorof the short text message. Further, the plurality of instructions mayresult in the computing device assigning each short text message to theat least one display column of the graphical user interface based onidentification data including data indicative of a type of short textmessage. The plurality of instructions may also result in the computingdevice requesting entry of filter data and filtering short text messagesdisplayed in the at least one display column of a graphical userinterface based on the filter data. Additionally, in some embodiments,the plurality of instructions may result in the computing devicedisplaying each short text message in the display column assigned to theshort text message in an order based on a time stamp associated with theshort text message.

According to a further aspect, a method for displaying short datamessages may include displaying a graphical user interface on a displayof a computing device. The graphical user interface may include aplurality of columns configured for displaying data messages therein.The method may also include receiving stream data with the communicationcircuitry of the computing device over a network, the stream dataincluding a plurality of data messages. Additionally, the method mayinclude electronically filtering the stream data based on meta-dataassociated with each of the plurality of data messages. The method mayfurther include displaying each of the plurality of data messages in atleast one of the plurality of columns based on the electronicallyfiltering step.

In some embodiments, electronically filtering the stream data based onmeta-data associated with each of the plurality of data messages mayinclude determining data indicative of a communication service providerfrom which data messages originated. Additionally, in some embodiments,displaying each of the plurality of data messages may include displayingeach of the plurality of data messages in the at least one of theplurality of columns based on the data indicative of a communicationservice provider from which data messages originated. Further, in someembodiments, electronically filtering the stream data based on meta-dataassociated with each of the plurality of data messages may includedetermining data that uniquely identifies the author of each of the datamessages. In such embodiments, displaying each of the plurality of datamessages may include displaying each of the plurality of data messagesin the at least one of the plurality of columns based on the data thatuniquely identifies the author of each of the data messages.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description particularly refers to the following figures,in which:

FIG. 1 is a block diagram of one embodiment of a system for managing anddisplaying data messages;

FIG. 2 is a simplified flowchart of a software process for managing anddisplaying data messages; and

FIGS. 3-9 are illustrative screenshots displayed on the user's computingdevice during execution of the software process illustrated in FIG. 2.

DETAILED DESCRIPTION OF THE DRAWINGS

While the concepts of the present disclosure are susceptible to variousmodifications and alternative forms, specific exemplary embodimentsthereof have been shown by way of example in the drawings and willherein be described in detail. It should be understood, however, thatthere is no intent to limit the concepts of the present disclosure tothe particular forms disclosed, but on the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention as defined by the appended claims.

In the following description, low-level hardware architecture and fullsoftware instruction sequences have not been shown in detail in ordernot to obscure the invention. Those of ordinary skill in the art, withthe included descriptions, will be able to implement appropriatefunctionality without undue experimentation.

References in the specification to “one embodiment”, “an embodiment”,“an example embodiment”, etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Embodiments of the invention may be implemented in hardware, firmware,software, or any combination thereof. Embodiments of the inventionimplemented in a computer system may include one or more bus-basedinterconnects between components and/or one or more point-to-pointinterconnects between components. Embodiments of the invention may alsobe implemented as instructions stored on a machine-readable, tangiblemedium, which may be read and executed by one or more processors. Amachine-readable, tangible medium may include any physical mechanism forstoring or transmitting information in a form readable by a machine(e.g., a computing device). For example, a machine-readable medium mayinclude read only memory (ROM); random access memory (RAM); magneticdisk storage media; optical storage media; flash memory devices; andothers.

Referring now to FIG. 1, a system 100 for managing and displaying datamessages includes a computing device 102 and at least one of a socialnetworking services server 104, a blogging service server 106, a mobilemessaging service server 108, other messaging service server 110, and/orone or more other remote computers 112. The computing device 102 isconfigured to communicate with the servers 104, 106, 108, 110, and/orthe computer(s) 112 over a network 114. The network 114 may be embodiedas or otherwise include any type of network(s) capable of facilitatingcommunication between the computing device 102 and the servers 104, 106,108, 110, and/or the computer(s) 112. For example, the network 114 maybe embodied as or otherwise include a wired network, a wireless network,a local area network (LAN), and/or a wide area network (WAN). In oneparticular embodiment, the network 114 is embodied as or otherwiseincludes a publically-accessible global network such as the Internet.

The computing device 102 is communicatively coupled to the network 114via a number of communication links 120. Similarly, the socialnetworking services server 104 is communicatively coupled to the network114 via a number of communication links 122, the blogging service server106 is communicatively coupled to the network 114 via a number ofcommunication links 124, the mobile messaging service server 108 iscommunicatively coupled to the network 114 via a number of communicationlinks 126, the other messaging service server 110 is communicativelycoupled to the network 114 via a number of communication links 128, andthe remote computer(s) 112 is communicatively coupled to the network 114via a number of communication links 130. Each of the communication links120, 122, 124, 126, 128, 130 may be embodied as any type ofcommunication links capable of facilitating communication between therespective computing device 102, social networking services server 104,blogging service server 106, mobile messaging service server 108, othermessaging service server 110, and remote computer(s) 112. For example,any one or more of the communication links 120, 122, 124, 126, 128, 130may be embodied as any number of wires, cables, printed circuit boardtraces, vias, and/or other communication links. Additionally, any one ormore of the communication links 120, 122, 124, 126, 128, 130 and/or thenetwork 114 may include any number of interconnected communicationdevices such as routers, switches, modems, and the like to facilitatecommunication therebetween.

The computing device 102 may be embodied as any type of computing deviceconfigured to perform the functions described herein including, but notlimited to, a personal desktop computer, a mobile computer, a personaldigital assistant (PDA), and/or the like. The computing device 102illustratively includes a processor 150, a memory device 152, a display154, a storage device 156, and communication circuitry 158.

The processing circuitry 150 may be embodied as any type of processingcircuitry including, for example, discrete processing circuitry (e.g., acollection of logic devices), general purpose integrated circuit(s),and/or application specific integrated circuit(s) (i.e., ASICs).Although the computing device 102 includes only a single processor orprocessing circuitry 150 in the embodiment illustrated in FIG. 1, thecomputing device 102 may include any number of processors (or processorcores) in other embodiments.

The memory device 152 may be embodied as any type of memory device suchas read-only memory (ROM) devices and random access memory devicesincluding, but not limited dynamic random access memory devices (DRAM),synchronous dynamic random access memory devices (SDRAM), double-datarate dynamic random access memory device (DDR SDRAM), and/or othervolatile memory devices. Additionally, although only a single memorydevice 152 is illustrated in FIG. 1, in other embodiments, the computingdevice 102 may include any number of memory devices.

The display 154 may be embodied as any type of display device fordisplaying text and images to a user of the computing device 102 suchas, for example, a liquid crystal display (LCD) device, a cathode-raytube (CRT) device, a plasma display device, or other display device. Insome embodiments, the display 154 may form an integral portion of thecomputing device 102 (e.g., in those embodiments in which the computingdevice 102 is embodied as a mobile computer). In other embodiments, thedisplay 154 may be embodied as a separate display device that iscommunicatively coupled to the other devices (e.g., the processingcircuitry 150) of the computing device 102.

The storage devices 156 may be embodied as any number of devicesconfigured for data storage. That is, the storage device 156 may beembodied as any number of discrete devices such as hard drive orcollection of hard devices and/or virtual devices such as any number ofdatabases or set of memory locations. Additionally, in some embodiments,the storage device 156 is separate from the computing device 102, butcommunicatively coupled thereto.

The communication circuitry 158 of the computing device 102 may beembodied as any type of communication circuitry capable of facilitatingcommunication between the computing device 102 and at least one of theservers 104, 106, 108, 110 and/or the remote computer(s) 112 over thenetwork 114. The communication circuitry 158 may be embodied as orotherwise include, for example, network interface cards, modems,routers, switches, and/or other communication circuitry and/or devices.In addition, the computing device 102 may include other devices andcircuitry typically found in a computer for performing the functionsdescribed herein including, but not limited to, input devices such as akeyboard and/or mouse, output devices such as a monitor and/or printer,and/or the like.

Each of the social networking services server 104, blogging serviceserver 106, mobile messaging service server 108, and other messagingservice server 110 may be embodied as any type of computer or collectionof computers or computing devices configured to perform the functionsand services provided by each messaging service provider. For example,each server 104, 106, 108, 110 is configured to transmit data messagesto and receive data messages from the computing device 102 as discussedin more detail below. The particular type, size, and periodicity of thedata messages and the communication protocols used may differ betweenthe servers 104, 106, 108, 110 based on the type of messaging serviceprovided. For example, the social networking service provider may beembodied as a communication service provider configured to deliver andreceive many data messages in relatively high volume (e.g., Twitter®).The blogging service provider may be embodied as a communication serviceprovider configured to deliver and receive data messages, updates, orother messages in a relatively lower volume (e.g., Facebook®). Themobile messaging service provider may be embodied as a communicationservice provider configured to deliver and receive data messages from amobile computing device such as a portable digital assistant (PDA).Similarly, the other messaging service provider may be embodied as anycommunication service provider configured to transmit or receive datamessages to the computing device 102.

Similarly, the remote computer 112 may be embodied as any type ofcomputer or collection of computers or computing devices configured totransmit data messages to the computing device 102 over the network 114.For example, the remote computer 112 may be embodied as a personaldesktop computer, a mobile computer, or a collection of computers orcomputing devices. The remote computer 112 may use any one of a numberof communication software and/or protocols to communicate the datamessages to and receive data messages from the computing device 102.

In use, the computing device 102 is usable by an end-user to receive andtransmit data messages from any one or more of the social networkingservices server 104, blogging service server 106, mobile messagingservice server 108, other messaging service server 110, and remotecomputer(s) 112. In particular, the computing device 102 is configuredto receive stream data from any one or more of the servers 104, 106,108, 110 and/or computer 112 over a relatively short time period. Thestream data is embodied as a plurality of data messages continuallyreceived over a short time period (e.g., multiple data messages receivedevery minute). As such, the stream data may embody a large number ofdata messages.

In some embodiments, the data messages of the stream data may beembodied as text messages having a predetermined maximum characterlength. For example, in one embodiment, the data messages have a maximumcharacter length of 256 characters or less. In another embodiment, thedata messages have a maximum character length of 160 characters or less.Additionally, in other embodiments, the data messages may have maximumcharacter lengths of other values. The predetermined maximum characterlength may be determined by the communication service providers, by thecommunication technology protocol used, or by some other parameter. Forexample, in some embodiments, the data messages may be embodied as shortmessage service (SMS) messages having a maximum 7-bit character lengthof about 160 characters. Additionally, in some embodiments, the datamessages may include or otherwise be embodied as a picture(s), animage(s), a sound(s), or other non-text data

As discussed in more detail below, the computing device 102 isconfigured to receive the stream data (i.e., the plurality of datamessages) from one or more of the servers 104, 106, 108, 110 and/orremote computer(s) 112 and display the stream data to the end-user in acolumnar format. To do so, the computing device 102 may execute asoftware process or method 200 as illustrated in FIG. 2. The method 200begins with block 202 in which start-up procedures are performed. Forexample, data registers and other memory locations may be initialized inblock 202. Additionally, other boot-up processes and maintenanceprocesses may be executed or otherwise performed by the computing device102 in block 202.

In block 204, the computing device 102 displays a graphical userinterface (GUI) to the user on the display 154. The graphical userinterface is configured to display data messages to the user in acolumnar format. One illustrative graphical user interface 300 isillustrated in FIG. 3. The graphical user interface 300 includes atoolbar 302 and a data message display area 304 in which data messagecolumns are displayed. For example, as shown in FIG. 4, the data messagedisplay area 304 may include one or more data message columns 400, eachconfigured to display data messages in a separate vertical configurationas discussed in more detail below. Each data message column 400 includesa header bar 402 in which the name of the display column and/or otherinformation associated with the particular display column is displayed.Each data message column 400 also includes a tool bar 404 including aplurality of tool buttons 406 for managing the display columns 400.Illustratively, the header bar 402 is located at the top of the column400 and the tool bar 404 is located at the bottom of the column 400.However, in other embodiments, the bars 402, 404 may be located in otherlocations within each particular column 400.

In the illustrative embodiment of FIG. 4, the tool buttons 406 of thetool bar 404 include a move-column button 410, a show-popular button412, a filter-column button 414, a mark-all-seen button 416, aclear-seen button 418, a clear-all button 420 and a move-column button422. As discussed in more detail below, the move-column buttons 410, 422may be selected to change the location of the particular column withinthe data message display area 304. That is, the move-column button 410may be selected to move the particular column 400 to the left of thenext left-adjacent display column 400 and the move-column button 420 maybe selected to move the particular column 400 to the right of the nextright-adjacent display column 400. The show-popular button 412 may beselected to display information indicative of the most popular words,phrases, or other text included in the data messages currently displayedin the particular display column 400. The filter-column button 414 maybe selected to filter the data messages currently displayed in theparticular display column 400 based on filter data supplied by the user.The mark-all-seen button 416 may be selected to mark each of the datamessages currently displayed in the particular display column 400 as“seen” or otherwise read by the user. The clear-seen button 416 may beselected to clear, delete, or otherwise remove all data messagescurrently displayed in the particular display column 400 that have beenmarked as “seen.” Additionally, the clear-all button 418 may be used toclear, delete, or otherwise remove all data messages currently displayedin the particular display column 400.

Each of the display columns 400 displayed in the data message displayarea 304 may be configured to display particular types data messages.For example, as discussed in more detail below, data messages may bedisplayed in particular columns based on the meta-data or identificationdata associated with each particular data message. For example, asillustratively shown in FIG. 4, the display columns 400 may include an“All Friends” display column 450 in which each all data messagesreceived from a predefined source, author, or that otherwise meetpredetermined criteria (e.g., authored by an individual or entitypreviously identified as a “friend” or identified as being “followed” bythe user). As shown in FIG. 5, the “All Friends” display column 450 mayinclude a large number of data messages 600 from many different sources.Illustratively, each data message 600 includes a text window 602 and anicon 604, which is displayed in the top-left most corner of the textwindow 602. The text of the data message 600 is displayed in the textwindow 602. Additionally, identification data 606 associated with theparticular data message 600 is displayed at the bottom of the textwindow. The identification data 606 may include data indicative of thename, screen name, or other unique identity of the author of the datamessage 600, the time and date of the data message, and thecommunication service provider and/or software package used to generatethe data message. However, in other embodiments, the data message 600may have other configurations and/or include other types of data.

Referring back to FIG. 4, the display columns 400 may also include a“Direct Messages” display column 452 in which data messages directedspecifically to the user are displayed. Additionally, the displaycolumns 400 may include a “Mentions” display column 454 in whichreceived data messages including user's name, screen name, or otheridentification data, are displayed. As discussed in more detail below,in addition to the predefined display columns 450, 452, 454, the usermay create additional display columns 400 configured to display datamessages based on the meta-data and/or identification data associatedwith each data message.

Referring back to FIG. 2, after the graphical user interface isdisplayed to the user in block 204, the user may optionally configureand/or manage the graphical user interface in block 206. To do so, theuser may perform any one of a number of different configuration and/ormanaging procedures on the graphical user interface to thereby setup orchange the interface. For example, the user may create, delete, or movedisplay columns 400. Additionally, the user may rename display columns400, apply filtering to one or more display columns, and/or performadditional configuration and/or managing procedures. For example, asillustrated in FIG. 5, the user may create a new display column 400 byselecting a “Group” button 306 from the tool bar 302 of the graphicaluser interface 300. In response, an Add New Group window 500 isdisplayed in the data message display area 304. The Add New Group window500 includes a name data window 502 in which the user can enter a namefor the new display column, a filter data window 504 in which the usercan enter data on which to filter data messages to be displayed in thenew display column, and an All Friends window 506 in which socialgroups, individuals, companies, or other entities that the user haspreviously identified as “friends” or as being “followed” by the userare displayed.

To create the new display column, the user may enter a name for the newdisplay column in the name data window 502 and enter data in the filterdata window 504 and/or select one or more predefined “friends” from thelist displayed in the All Friends window 506. If the user enters filterdata in the filter data window 504, any received data message includingthe entered filter data or otherwise matching the filter data will bedisplayed in the newly created display column. For example, the user mayenter subject matter data in the filter data window 504 to cause alldata messages including the subject matter text to be displayed in thenewly created window. Alternatively, the user may enter identificationdata, such as the author, the communication service provider, or thetype of data, in the filter data window 504 to cause all data messagesincluding the filter data in its associated meta-data to be displayed inthe newly created window as discussed in more detail below. Additionallyor alternatively, the user may select one or more of the predefined“friends” from the list displayed in the All Friends window 506 to causeall data messages sent to or from the predefined “friend” (e.g., friendgroup) to be displayed in the newly created display window.

Additionally, the user may select any of the data messages currentlydisplayed in the “All Friends” display column 450 to add data messagesfrom that particular “friend” (e.g., friend group) to be displayed inany other existing display column. To do so, as illustrated in FIG. 6,the user may click on (e.g., right-click) the icon 604 of any of thedata messages 600 displayed in the display column 450. In response, atool window 610 is displayed next to or over the respective data message600 as shown in FIG. 6. The user may then select the display column towhich the user wants to add the data messages from the selected“friend”.

Referring now back to FIG. 2, in block 208, the computing device 102receives and/or retrieves stream data from one or more of the socialnetworking services server 104, the blogging service server 106, themobile messaging service server 108, the other messaging service server110, and/or the remote computer(s) 112. As discussed above, the streamdata is embodied as a plurality of data messages. In some embodiments,the data messages may be embodied as text messages having apredetermined maximum character length (e.g., a maximum of 256characters, a maximum of 160 characters, or other predeterminedmaximum). The predetermined maximum character length may be determinedby the communication service providers, by the communication technologyprotocol used, or by some other parameter. Further, in some embodiments,the data messages may include or otherwise be embodied as a picture(s),an image(s), a sound(s), or other non-text data in addition to or inplace of text data.

In block 210, the computing device 102 analyzes each of the datamessages 600 received from the servers 104, 106, 108, 110, and/or theremote computer(s) 112. For example, in one embodiment, the computingdevice 102 may determine identification data of each data message 600 inblock 212. The identification data may be embodied as, form a portionof, or otherwise be based on meta-data associated with each data message600. For example, the identification data may be embodied as dataindicative of the source of the data message 600, such as the author,the social group to which the message belongs, the communication serviceprovider (e.g., Twitter®, Facebook®, etc.), the software package used togenerate the data message 600, and/or other data indicative of thesource of the data message 600. In one particular embodiment, theidentification data is embodied as a uniform resource locator (URL) ofthe communication service provider from which the data message 600originated. As discussed above, the identification data may determinedby analysis of the meta-data of each particular data message 600.

In block 214, the computing device 102 assigns one or more displaycolumns 400 in which each data message 600 is to be displayed based onthe identification data. For example, if the user had created a displaycolumn 400 for displaying all messages received from an “NBA” friendgroup, all data messages received from the “NBA” friend group will beassigned to at least the “NBA” display column. Alternatively, if theuser had created a display column fro displaying all messages receivedfrom “John Doe”, all data messages received from “John Doe” will beassigned to at least the “John Doe” display column.

Subsequently, in block 216, the computing device 102 displays each ofthe received data messages 600 in each of the respectively assigneddisplay columns 400. For example, as illustrated in FIG. 7, the user maycreate a “TIME” display column 700 for displaying all data messagesreceived from the TIME social group or “friend” group, a “CBS” displaycolumn 702 for displaying all data messages received from the “CBS”social group, and an “NBA” display column 704 for displaying all datamessages received from the “NBA” social group. As shown in FIG. 7, eachdata message 600 that has been received from the TIME social group isdisplayed in the “TIME” display column 700, each data message 600 thathas been received from the CBS social group is displayed in the “CBS”display column 702, and each data message 600 that has been receivedfrom the NBA social group is displayed in the “NBA” display column 704.It should be appreciated that each of the data messages 600 displayed inthe columns 700, 702, 704 may also be displayed in the “All Friends”display column 450. After the computing device 102 has displayed therecently received data messages 600 in the assigned display columns 400in block 216, the process 200 loops back to block 208 in whichadditional data messages are received and/or retrieved from the servers104, 106, 108, 110, and/or remote computer(s) 112.

As discussed in detail above, the user may perform a number ofmanagement and/or configuration procedures on the graphical userinterface 300. For example, in the illustrative embodiment of FIG. 7,the “NBA” display column 704 is displayed on the right-most side of thedata message display area 304 of the graphical user interface 300.However, the user may change the location of the “NBA” display column704 by selecting one of the move-column buttons 410, 420 located on thetool bar 404 associated with the column 704. For example, if the usermay reposition the “NBA” display column 704 toward the left of the datamessage display area 304 via selection of the left move-column button410. In response, the “NBA” display column 704 is displayed toward theleft of the “TIME” display column 700 and the “CBS” display column 702as shown in FIG. 8.

Additionally, the user may filter the data messages 600 displayed in anyof the display columns 400 via selection of the filter-column button 414located on the tool bar 404 associated with the display column 400. Forexample, as shown in FIG. 9, the user may select the filter-columnbutton 414 to cause a filter window 900 to be displayed. The filterwindow 900 includes a filter data window 902 in which the user may enterfilter data. In response, the data messages 600 currently displayed inthe respective display column 400 are filter based the filter dataprovided by the user. For example, only those data messages includingthe filter data will be displayed in the display column 400.

While the disclosure has been illustrated and described in detail in thedrawings and foregoing description, such an illustration and descriptionis to be considered as exemplary and not restrictive in character, itbeing understood that only illustrative embodiments have been shown anddescribed and that all changes and modifications that come within thespirit of the disclosure are desired to be protected.

There are a plurality of advantages of the present disclosure arisingfrom the various features of the systems, devices, and methods describedherein. It will be noted that alternative embodiments of the systems,devices, and methods of the present disclosure may not include all ofthe features described yet still benefit from at least some of theadvantages of such features. Those of ordinary skill in the art mayreadily devise their own implementations of the systems, devices, andmethods that incorporate one or more of the features of the presentinvention and fall within the spirit and scope of the present disclosureas defined by the appended claims.

What is claimed is:
 1. A method for displaying messages, comprising:receiving from a social network system, a plurality of messages;filtering the plurality of messages into at least two filtered sets ofmessages based on at least one metadata feature of the plurality ofmessages, each of the at least two filtered sets of messages including adifferent subset of the plurality of messages; assigning each of the atleast two filtered sets of messages to a separate column; and triggeringconcurrent display of the at least two filtered sets of messages in theassigned columns; and analyzing data related to an interaction of theuser with at least one filtered set of messages from the at least twofiltered sets of messages.
 2. The method of claim 1, wherein theplurality of messages is continually updated over time, the filtering isapplied to the updated plurality of messages.
 3. The method of claim 2,wherein the analyzing is applied to the updated plurality of messages.4. The method of claim 1, wherein the plurality of messages and themetadata features associated with the plurality of messages arecontinually updated over time, at least one of the filtering or theanalyzing are applied to the updated plurality of messages andassociated metadata features.
 5. The method of claim 1, wherein theanalyzing the data includes analyzing metadata.
 6. The method of claim1, wherein each of the plurality of messages is from a followed account.7. The method of claim 1, wherein the different subset of the pluralityof messages is identified using a different filtering criteria relativeto the at least one other filtered sets of messages based on the atleast one metadata feature.
 8. The method of claim 1, wherein the atleast one metadata feature is based on a user-inputted criteria.
 9. Themethod of claim 1, wherein each of the plurality of messages includes anaccount mention.
 10. The method of claim 1, wherein each of theplurality of messages corresponds to a predefined category.
 11. Themethod of claim 1, wherein the at least one of the at least two filteredsets of messages is identified based on the at least one metadatafeatures of the plurality of messages.
 12. The method of claim 11,wherein the at least one metadata feature includes a source of each ofthe plurality of messages.
 13. The method of claim 12, wherein thesource is a communication service provider, the at least one metadatafeature includes a uniform resource locator (URL) of the communicationservice provider.
 14. The method of claim 12, wherein the at least onemetadata feature identifies an author of each of the subsets of theplurality of messages, the method further comprises: triggeringdisplaying of a name of an author of each of the plurality of messagesin an additional column.
 15. The method of claim 1, further comprising:identifying a plurality of short text messages among the plurality ofmessages; and determining a predefined maximum length of the short textmessages, the assigned columns being based on the maximum length. 16.The method of claim 1, wherein each of the plurality of messages islimited to a predetermined maximum length of approximately 160characters in length.
 17. A system for processing messages, comprising:at least one computer processor; and an application executing on thecomputer processor and configured to: identify a plurality of messagesfrom a social network system; filter the plurality of messages into atleast two filtered sets of messages based on at least one metadatafeature of the plurality of messages, each filtered set of messagesincluding a different subset of the plurality of messages identifiedusing a different filtering criteria relative to the at least one otherfiltered set of messages; transmit the two filtered sets of messages forconcurrent display in separate columns; receive an interaction of a userwith the at least two filtered sets of messages; and analyze datarelated to the interaction of the user with at least one filtered set ofmessages from the at least two filtered sets of messages.
 18. The systemof claim 17, wherein the plurality of messages and metadata featuresassociated with the plurality of messages continually updated over time,the filtering and analyzing are applied to the updated plurality ofmessages and the associated metadata features.
 19. The system of claim17, wherein the analyzing the data includes analyzing metadata.
 20. Thesystem of claim 17, wherein the at least one metadata feature identifiesan author of each of the plurality of messages, the application isfurther configured to: transmit a name of the author of each of theplurality of messages for display within an additional stream.
 21. Anon-transitory computer readable storage medium comprising instructionsfor processing messages, the instructions when executed by a processorcauses the processor to: receive from a social network system, aplurality of messages; filter the plurality of messages into at leasttwo filtered sets of messages based on at least one metadata feature ofthe plurality of messages, each filtered set of messages including adifferent subset of the plurality of messages identified using adifferent filtering criteria relative to the at least one other filteredset of messages; assign each of the at least two filtered sets ofmessages to a separate column; and trigger display of the filtered setsof messages in the assigned columns; and analyze data related to the atleast two filtered sets of messages.
 22. The non-transitory computerreadable storage medium of claim 21, wherein each of the plurality ofmessages includes a type selected from (i) messages including accountmentions, (ii) messages from a source, (iii) messages from friends, (iv)messages from followed accounts, and (v) messages corresponding to apredefined category.
 23. The non-transitory computer readable storagemedium of claim 21, wherein a filtered set of messages from the at leasttwo filtered sets of messages is associated with a source group, each ofthe plurality of messages is limited to a predetermined maximum lengthof approximately 160 characters in length.
 24. The method of claim 1,further comprising: creating an additional display column including anadditional set of messages based on the user interaction.